[ADD] base_bg: Some improvements#351
Conversation
There was a problem hiding this comment.
Pull request overview
Este PR introduce mejoras en el módulo base_bg relacionadas con la serialización de datos y el manejo de trabajos en batch. El objetivo principal es mejorar la robustez del sistema de trabajos en segundo plano mediante mejor serialización de parámetros y gestión más completa de trabajos encadenados.
Changes:
- Nuevo método
make_serializablepara convertir recursivamente objetos a formato JSON serializable - Mejora en
bg_enqueue_recordspara usar el nuevo método de serialización en contexto y parámetros - Mejora en
action_cancelyaction_retrypara gestionar correctamente los trabajos siguientes en un batch - Tests completos para el nuevo método
make_serializable
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| base_bg/models/base_bg.py | Agrega método make_serializable y modifica bg_enqueue_records para usar serialización mejorada |
| base_bg/models/bg_job.py | Mejora action_cancel y action_retry para manejar trabajos encadenados en batch |
| base_bg/tests/test_bg_job.py | Agrega tests comprehensivos para make_serializable con diferentes escenarios |
Comments suppressed due to low confidence (1)
base_bg/models/bg_job.py:130
- Los cambios en
action_cancelpara cancelar también los trabajos siguientes en el batch (línea 125) no tienen cobertura de tests. El test existentetest_job_cancelsolo verifica el comportamiento básico con un trabajo individual, pero no prueba que los trabajos encadenados también se cancelen correctamente cuando haynext_job_idconfigurado.
Se recomienda agregar un test que verifique que al cancelar un trabajo, todos los trabajos siguientes en el batch también cambien a estado "canceled".
(self | self._get_next_jobs()).write(
{
"state": "canceled",
"cancel_time": fields.Datetime.now(),
}
)
c49474c to
fd67859
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
base_bg/models/bg_job.py:130
- Los cambios en
action_cancelahora también cancelan los trabajos siguientes (_get_next_jobs()). Este nuevo comportamiento no está cubierto por tests. El testtest_job_cancelsolo verifica que el trabajo actual se cancele, pero no comprueba que los trabajos siguientes en la cadena también se cancelen.
Sugerencia: Agregar un test que verifique que cuando se cancela un trabajo encolado que tiene trabajos siguientes, estos también se cancelen con cancel_time establecido.
(self | self._get_next_jobs()).write(
{
"state": "canceled",
"cancel_time": fields.Datetime.now(),
}
)
be2ce9c to
492805b
Compare
492805b to
4cc73f0
Compare
4cc73f0 to
8ec9d1f
Compare
- Implement make_serializable method for JSON serialization of various data types - Update job state handling to include next jobs during cancellation and retry - Add unit tests
8ec9d1f to
198899a
Compare
|
@roboadhoc r+ |
- Implement make_serializable method for JSON serialization of various data types - Update job state handling to include next jobs during cancellation and retry - Add unit tests closes #351 Signed-off-by: Nicolas Mac Rouillon (ADV) <[email protected]>

No description provided.